    /*Pseudotrans - Codificador de pseudocodigo a lenguaje pascal
    Copyright (C) 2006  Alejandro Lucas Baldres, Nicolas Secreto
    Copyright (C) 2011  Alejandro Lucas Baldres

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA}

{Ultima Modificación: 12/10/11                                 }
{--------------------------------------------------------------}
{Unidad Principal del programa  			       }
{Unit main of the program}
{--------------------------------------------------------------}*/
//Comment Modify: 12/10/2011
#include <stdio.h>
#include "Op_principal.h"
#include "ayuda.h"

char Tipo_Pseudocodigo; //P:Pascal y B:Basic



//Declaro Constantes / Declaration of Constants
char *Version="0.2.3.1";
char *Plataforma="Linux";
char *Fecha_Crea="25/11/11";






void Aplicacion_run(int cArg,char* Arg[]);
{
    int Creo_Archivo= 1;//Establezco si creo el archivo o agrego lineas / Stablish if create the file or add lines
    char Directorio_pto[255],Directorio_pse[255]; //Almaceno la ruta del pseudocodigo / Save the road of pseudocode
    char Origen[255],Destino[255];//Path de Archivo en pseudocodigo y Path de Archivo fuente / Path of file in pseudocode and path of code file
    //determino el directorio del programa / Determine program directory
    Origen = Arg[1];
//Verifico que no sea la ayuda / Verify what dont help 
if (Origen=="") 
    Origen="mannucleo";
if (man (Origen,Fecha_crea,Plataforma,Version)) 
{
 Destino=Arg[2];//Establezco el segundo parametro como archivo de destino / Stablish the second parameter as destine file
 while (Destino=="")
 {
	system("clear");
	printf("Ingrese el nombre de archivo de Salida: ");
	scanf("%s",Destino);
 }
 if (FileExists(Arg[3])) then //Establesco diccionarios / Stablish Dictionaries
 {
 	Directorio_pse=Arg[3];
    strcpy(Directorio_pto,Directorio_pse);
    strcat(Directorio_pto,"_pto")
 }
 else {
    #ifdef LINUX
     {
   	   Directorio_pse="/usr/share/pseudotrans/datos/unp";
       Directorio_pto="/usr/share/pseudotrans/datos/unp_pto";
     }
    #else
     {
	   Directorio_pse="C:\\pseudotrans\\datos\\unp";
   	   Directorio_pto="C:\\pseudotrans\\datos\\unp_pto";
     }
   #endif   	
     }
 if (FileExists(Origen)) //Si el Archivo fuente (Pseudo) existe procedo a realizar las opera / If pseudocode file exist proceed to operations
	 Cargo_y_traduzco (Origen,Version,fecha_crea,plataforma,destino,directorio_pse,directorio_pto)
 else printf ("No existe el archivo: %s",Origen);  
 }
}
}

int FileExists(char* Archivo)
{
    FILE *Archi;

    Archi=fopen(Archivo,"r");

    if (Archi!=NULL)
        return 1;
    else return 0;
}
